HTML也许是全球最成功的文档标记语言(markup language)。不过,在XML被提出之后,有一个两天的研讨会讨论了是否需要一个基于XML的新版HTML。该研讨会的意见是明确的:即需要一个基于XML的HTML,这样其他XML语言可以包含XHTML片断,而XHTML文档也可以包含其他标记语言的片断。我们还能利用重复设计(redesign)以去除HTML中某些较不整齐的部分并添加一些新需要的功能(比如更好的表单)。
如果你的文档仅是纯XHTML 1.0的(不包含其他标记语言),那么你还不能体会到较多的不同。但是,随着越来越多XML工具(比如用于文档转换的XSLT)的出现,你将能体会到使用XHTML的优点。比如,XForms使你可以用便捷的方式来编辑XHTML文档(或其他类型的XML文档)。语义Web应用也将得以从XHTML文档获利。
如果你的文档不仅是XHTML 1.0,比如还包含了MathML、SMIL或SVG,那么优点将是立竿见影的:用HTML你是不可能完成这些事的。
不可以。HTML并不是基于XML格式的。你必须对HTML文档作必要的修改才能使之成为正确的XML文档。
你可以利用HTML Tidy (http://tidy.sourceforge.net/)将HTML文档转换为一个XHTML文档。另外,Amaya (http://www.w3.org/Amaya/)也是一个可以把HTML文档保存为XHTML的浏览器和编辑器。
这是当然的。HTML浏览器接受任何输入(正确的或不正确的),并试图使之得以正常显示。这种错误纠正使得浏览器程序的编写变得很难,尤其是在所有浏览器都被期望具有相同的显示结果时。这也意味着大量的HTML文档是不正确的,因为它们可以在浏览器中正常显示,所以文档作者未能注意到错误的存在。这使得新的用户代理(user agents)[译注//浏览器是一种用户代理]的编写变为惊人的困难,因为声称符合HTML的文档通常存在着很多错误。
所有的浏览器都知道应如何去处理正确的HTML,但是对于不正确的HTML文档,浏览器必须要去修正它。而各种浏览器的修复方式是不统一的,这就造成了差异。于是你的文档在不同的浏览器中将会呈现出不同的显示结果和行为方式。由于目前的浏览器种类繁多,而且还在不断增多(除PC机的浏览器以外,还有PDA、手机、电视、打印机甚至电冰箱上的浏览器),因此不可能在每一种浏览器上对你的文档进行测试。如果你使用的是不正确的HTML,并且不能在某种浏览器上正常打开它的话,这将是你的过错;如果你使用的是正确的HTML,而不能正常打开的话,那就是浏览器的bug了。
,在计划发布整个产品时,你会做大量的工作尽量使代码和设计文档保持一致。对于这种情况来说,你之前的设计是没有价值的,因为代码本身就说 明了设计。